Electronic devices, such as disk drives, store and retrieve data on a storage medium. Communications systems transmit and receive data via a communication medium. The electronic devices and communication systems use similar techniques to encode data for storage and transmission. The data is encoded into a digital format to allow efficient manipulation of the data by the disk drives and the communication systems.
The storage device and communication system transmission devices do not directly store or transmit digital data. Instead, these devices store or receive analog signals that represent the digital data. For example, disk drives encode digital information as analog magnetic flux changes. Similarly, communication receivers traditionally receive an analog electromagnetic waveform from a communication channel. Certain shapes of analog electromagnetic waveforms represent different values of digital data received by the receiver from a transmitter.
The retrieved or received analog signals are decoded to reproduce the encoded digital data. A circuit that reads or receives the encoded data and reproduces the original digital data is referred to as a read channel. A read channel in a disk drive includes a magnetic read head that senses the magnetic flux changes. The read head produces electric current to represent the digital data as an analog waveform. The continuous analog waveform is decoded to recover the digital data.
In an ideal theoretical environment, each magnetic flux change of a magnetic disk represents a bit value of zero or one. In practice, the physical proximity of one recorded bit to the next adjacent bit tends to cause interference between the adjacent bits. This interference eventually leads to digital bit errors when the analog signal is converted to a digital signal. Similar interference issues affect a communication receiver. Other interference waveforms and noise may alter portions of the original analog electromagnetic waveform as the waveform is transmitted and received. The interference waveforms and noise may inject errors in the data represented by the waveform. The problem of errors being injected in analog data is exacerbated as communication speed or storage density increases. A better way to decode data that may contain errors may be desired.